package com.sg.service.biz.calc.nb;

import cn.hutool.core.bean.BeanUtil;
import com.sg.dto.biz.calc.req.AddAcceptFieldReqDto;
import com.sg.dto.biz.calc.req.ImplementCalcReceivingField002ReqDto;
import com.sg.dto.biz.calc.req.ImplementNineReceivingFieldReqDto;
import com.sg.dto.biz.calc.req.ImplementReceiveFieldReqDto;
import com.sg.dto.biz.calc.res.AddAcceptFieldRespDto;
import com.sg.dto.biz.calc.res.ImplementCalcReceivingField002RespDto;
import com.sg.dto.biz.calc.res.ImplementNineReceivingFieldRespDto;
import com.sg.dto.biz.calc.res.ImplementReceiveFieldRespDto;
import org.apache.skywalking.apm.toolkit.trace.Tag;
import org.apache.skywalking.apm.toolkit.trace.Tags;
import org.apache.skywalking.apm.toolkit.trace.Trace;
import org.springframework.stereotype.Service;

/**
 * @author ： 手工接入方法
 * @version 1.0
 * @since 2022/5/28 15:32
 */
@Service
public class NbGridCalculate {
    /**
     * code:receptionService
     * name:M4-接收入参字段
     * desc:undefined
     * gen by moon at 4/30/2023, 9:11:55 PM
     **/
    @Trace(operationName = "M4-接收入参字段")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public AddAcceptFieldRespDto addAcceptField(AddAcceptFieldReqDto reqDto) {
        return BeanUtil.toBean(reqDto, AddAcceptFieldRespDto.class);
    }

    /**
     * code:receptionService
     * name:M4-接收入参字段
     * desc:undefined
     * gen by moon at 4/30/2023, 9:12:39 PM
     **/
    @Trace(operationName = "M4-接收入参字段")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementReceiveFieldRespDto implementReceiveField(ImplementReceiveFieldReqDto reqDto) {
        return BeanUtil.toBean(reqDto, ImplementReceiveFieldRespDto.class);
    }

    /**
     * code:receptionService
     * name:M4约定进度值计算公式：其他树进度值克隆主树
     * desc:undefined
     * gen by moon at 4/15/2024, 6:31:12 PM
     **/
    @Trace(operationName = "M4约定进度值计算公式：其他树进度值克隆主树")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementNineReceivingFieldRespDto implementNineReceivingField(ImplementNineReceivingFieldReqDto reqDto) {
        return BeanUtil.toBean(reqDto, ImplementNineReceivingFieldRespDto.class);
    }

    /**
     * code:receptionService
     * name:约定公式：评价对象树向下只计算进度值
     * desc:undefined
     * gen by moon at 6/30/2024, 10:15:20 PM
     **/
    @Trace(operationName = "约定公式：评价对象树向下只计算进度值")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementCalcReceivingField002RespDto implementCalcReceivingField002(ImplementCalcReceivingField002ReqDto reqDto) {
        return BeanUtil.toBean(reqDto, ImplementCalcReceivingField002RespDto.class);
    }
    //手工接入方法
}
